package com.linln.admin.medic.domain;

import com.linln.common.enums.StatusEnum;
import com.linln.common.utils.StatusUtil;
import lombok.Data;
import org.hibernate.annotations.Where;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @author wholve
 * @date 2024/03/25
 */
@Data
@Entity
@Table(name = "db_medicine_info")
@EntityListeners(AuditingEntityListener.class)
@Where(clause = StatusUtil.NOT_DELETE)
public class MedicineInfo implements Serializable {
    // 主键ID
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    /**
     * 来源ID
     */
    private Integer originId;
    // 创建时间
    @CreatedDate
    private Date createDate;
    // 更新时间
    @LastModifiedDate
    private Date updateDate;
    // 创建者
    private String createBy;
    // 更新者
    private String updateBy;
    // 数据状态
    private Byte status = StatusEnum.OK.getCode();

    /**
     * 通用名称
     */
    private String comName;

    /**
     * 中文拼音
     */
    private String chinesePinyin;

    /**
     * 别名
     */
    private String shopName;

    /**
     * 英文名称
     */
    private String englishName;

    /**
     * 原料
     */
    private String rawMaterials;

    /**
     * 药品类型
     */
    private String drugType;

    /**
     * 成分
     */
    private String component;

    /**
     * 类型
     */
    private String medicalType;

    /**
     * 类型中文
     */
    private String medicalTypeText;

    /**
     * 性状
     */
    private String property;

    /**
     * 规格
     */
    private String medicFormat;

    /**
     * 用法用量
     */
    private String dosage;

    /**
     * 不良反应
     */
    private String adverseReactions;

    /**
     * 禁忌
     */
    private String taboo;

    /**
     * 注意事项
     */
    private String notice;

    /**
     * 药物相互作用
     */
    private String interactions;

    /**
     * 贮藏方法
     */
    private String storageMethod;

    /**
     * 有效期
     */
    private String ytime;

    /**
     * 执行标准
     */
    private String standard;

    /**
     * 适应症
     */
    private String indication;

    /**
     * 主要功效
     */
    private String mainMeffect;

    /**
     * 临床应用及指南
     */
    private String clinicalApplication;

    /**
     * 孕妇及哺乳期妇女用药
     */
    private String gravidaDurg;

    /**
     * 儿童用药
     */
    private String childrenDurg;

    /**
     * 老人用药
     */
    private String elderlyDurg;

    /**
     * 药物过量
     */
    private String durgOverdose;

    /**
     * 药理作用
     */
    private String pharmacology;

    /**
     * 毒理作用
     */
    private String toxicologicalEffects;

    /**
     * 药代动力学
     */
    private String pharmacokinetics;

    /**
     * 批准文号
     */
    private String approvalNum;

    /**
     * 联合用药
     */
    private String combinedMedication;

    /**
     * 医师建议
     */
    private String physicianAdvice;

    /**
     * 鉴别
     */
    private String identify;

    /**
     * 检查
     */
    private String pharmacyCheck;

    /**
     * 含量测定
     */
    private String contentPic;

    /**
     * 附注
     */
    private String notes;

    /**
     * 药品标识
     */
    private String drugIdentifying;

    /**
     * 药品介绍
     */
    private String drugIntroduce;

    /**
     * 历史发展
     */
    private String history;

    /**
     * 获奖情况
     */
    private String awards;

    /**
     * 生产地址
     */
    private String address;

    /**
     * 生产企业
     */
    private String enterprise;

    /**
     * 产品信息
     */
    private String productInfo;

    /**
     * 信息来源
     */
    private String messageFrom;

    /**
     * 保健类型
     */
    private String healthType;

    /**
     * 处方类型
     */
    private String recipeType;

    /**
     * 描述
     */
    private String description;

    /**
     * 价格区间
     */
    private String price;

    /**
     * 标题
     */
    private String title;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 关键词
     */
    private String keywords;
}